# 甘蔗
# 2025/5/26

"""
小蓝种了一排甘蔗，甘蔗共 n 根，第 i 根甘蔗的高度为 ai 。小蓝想砍一些 甘蔗下来品尝，但是他有强迫症，不希望甘蔗的高度显得乱糟糟的。
具体来说，他给出了一个大小为 m 的整数集合 B = {b1, b2, · · · , bm}，
他希望在砍完甘蔗后，任意两根相邻的甘蔗之间的高度差 |a_{i} − a_{i+1}| 都要在这个集合 B 中。
小蓝想知道 他最少需要砍多少根甘蔗（对于高度为 h 的甘蔗，他可以将其砍成 x 高度的甘 蔗，x ∈ {0, 1, 2, · · · , h − 1} ）

输入格式:
输入的第一行包含两个正整数 n, m ，用一个空格分隔。
第二行包含 n 个正整数 a1, a2, · · · , an ，相邻整数之间使用一个空格分隔。
第三行包含 m 个正整数 b1, b2, · · · , bm ，相邻整数之间使用一个空格分隔。

输出格式:
输出一行包含一个整数表示答案。如果不能满足条件，输出 −1 。

样例1:
输入:
6 3
6 7 3 4 9 12
2 3 5
输出:
2
其中一种方案：将 a2 砍为 3 ，再将 a3 砍为 1 。

样例2:
输入:
2 1
4 5
6
输出:
-1
"""